#pragma once

#include "Serialize/ObjectPtrSerializer.h"

#include "AssetHead.h"

class WHENGINE_API CAssetObjectSerializer : public IObjectSerializer, public IObjectDeserializer
{
public:
    CAssetObjectSerializer(const SAssetHead& AssetHead)
        :AssetHead(AssetHead)
    {}

    CString SerializeToString(RObject* InObject) override;
    TSharedObjectPtr<RObject> DeserializeFromString(const CString& InString) override;

protected:
    const SAssetHead& AssetHead;

};